Custom Render Texture
カスタムレンダーテクスチャ
Render Textureを拡張したもの。Render Textureとは違うので注意。
部分的更新や自分の前の状態のテクスチャを使った更新などができる点が違うみたい。
⚠.icon自分の前の状態を使いたいなら、Double Bufferedにチェックが入っていないといけない(1敗)
See: https://docs.unity3d.com/ja/2021.3/Manual/class-CustomRenderTexture.html
シェーダについて
See: https://docs.unity3d.com/ja/2021.3/Manual/class-CustomRenderTexture.html#writing-a-shader-for-a-custom-render-texture
カスタムレンダーテクスチャを手動で更新するためには、shaderも互換性のある形にする必要がある。以下が要件。
#include "UnityCustomRenderTexture.cginc"
vertex shaderはCustomRenderTextureVertexShader
fragment shaderの入力構造体はv2f_customrendertexture
以下はドキュメントに記載されているshaderの例。
code:shader
Shader "CustomRenderTexture/Simple"
{
Properties
{
_Color ("Color", Color) = (1,1,1,1)
_Tex("InputTex", 2D) = "white" {}
}
SubShader
{
Lighting Off
Blend One Zero
Pass
{
CGPROGRAM
#include "UnityCustomRenderTexture.cginc"
#pragma vertex CustomRenderTextureVertexShader
#pragma fragment frag
#pragma target 3.0
float4 _Color;
sampler2D _Tex;
float4 frag(v2f_customrendertexture IN) : COLOR
{
return _Color * tex2D(_Tex, IN.localTexcoord.xy);
}
ENDCG
}
}
}
See also: https://light11.hatenadiary.com/entry/2018/06/12/004133